# 描述: 启动程序
# 作者: 王茂林
# 时间: 2025/3/27 15:39

import argparse
import common.logger as logger
from common.configuration import get_system_settings, set_ruge_settings, init_config

if __name__ == '__main__':
    """
    启动命令:
    python app.py -env=local
    """

    parser = argparse.ArgumentParser(description='Common MCP Server')
    parser.add_argument('--config_path', '-cp', type=str, default=None, required=False, help="YAML配置文件路径")
    parser.add_argument('--ruge_env', '-env', type=str, default=None, required=False,
                        help="Ruge环境信息")

    args = parser.parse_args()

    # 初始化yaml配置
    init_config(args.config_path)

    # 根据指令参数，修改yaml配置
    # 优先使用启动命令中设定的参数
    # 设置-env=local,方便开发本地调试，无需修改config.yaml
    if args.ruge_env is not None:
        set_ruge_settings("env", args.ruge_env)

    # 初始化参数
    app_name = get_system_settings("app_name")
    # 日志级别
    log_level = get_system_settings("log_level")
    # 版本号
    app_version = get_system_settings("app_version")

    # 初始化日志配置
    logger.init_logger(logger.args_to_log_level(log_level), f'{app_name}.log')

    logger.info('-------------------------------------------------')
    logger.info('   欢迎使用疯狗AI，AI筑梦未来，大林祝您梦想成真！！！')
    logger.info('-------------------------------------------------')

    logger.info(f'app_name: {app_name}')
    logger.info(f'app_version: {app_version}')

    from common.ruge import init_ruge
    # 初始化Ruge配置
    init_ruge()

    from mcp_server import mcp
    # 启动服务
    mcp.run(transport="sse")
